/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Logger;

import javafx.scene.CustomNode;
import javafx.scene.Node;
import javafx.scene.Group;
import javafx.scene.text.Text;
import javafx.scene.text.Font;
import javafx.scene.control.Button;
import javafx.scene.text.TextAlignment;
import parismetro.Main;
import javafx.scene.control.TextBox;
import javafx.scene.control.Label;

/**
 * @author Hadrien
 */

public class StartScreen extends CustomNode {

    def f18 = Font { size: 18 };
    def f40 = Font { size: 40 };
    def textExplication = Text {
                font: f18
                layoutX: 60
                layoutY: 180
                textAlignment: TextAlignment.LEFT
                wrappingWidth: 900
                content: "Merci de participer à notre enquête qui à pour but de déterminer les possibles futures améliorations de "
                "la nouvelle interface pour les guichets automatiques de vente de billet de la RATP (dans le cadre d'un projet universitaire). "
                "\n\nAfin d'évaluer l'efficacité de cette nouvelle interface, nous vous demandons de suivre en détail nos indications. "
                "En effet, le programme va enregistrer vos temps et vos actions pour effectuer certaines tâches. "
                "Une fois arrivé à l'écran de paiement, le programme "
                "enverra automatiquement à notre serveur les données enregistrées où elles seront analysées. "
                "\nPour chaque tâche, vous allez devoir acheter un ou plusieurs titre de transports. Si vous arrivez avec le ou les bons billet(s) sur l'écran de paiement, "
                "vous passerez automatiquement à la tâche suivante."
                "Si vous pouvez effectuer des pauses entre les tâches, nous vous prions tout de même d'effectuer chaque tâche en une seule "
                "fois afin que les données enregistrées soient pertinentes. "
                "\nDe plus, nous souhaitons que vous agissiez comme un véritable voyageur devant un vrai guichet."
                "Ainsi l'interface a été réalisé pour un écran tactile. Toutes les actions sont donc réalisées grâce à la souris."
                "Plus particulièrement, si un clavier est affiché à l'écran, vous ne pouvez pas utiliser le clavier de votre ordinateur pour écrire. "
                "Vous devez cliquer sur chaque touche du clavier virtuel."
                "\n\nAprès avoir accompli toutes les tâches nous vous demanderons de bien vouloir remplir "
                "un questionnaire et de renseigner le même nom et prénom que lors de l'essai du logiciel. "
                "Enfin si vous souhaitez juste explorer l'interface, sans que cela n'interfère avec nos enregistrements,"
                " une option est disponible. Merci."
            };
    def titre = Text {
                font: f40
                layoutX: 150
                layoutY: 70
                content: "Evaluation d'une interface pour les guichets\nautomatiques de la RATP."
                textAlignment: TextAlignment.CENTER
            };
     def lblNom = Label {
                layoutX : 510;
                layoutY : 590;
	text: "Nom :"
        font: f18;
}
     def lblPrenom = Label {
                layoutX : 160;
                layoutY : 590;
	text: "Prénom :"
        font: f18;
}

    def nom = TextBox {
                layoutX : 580;
                layoutY : 590;
	text: ""
	columns: 20
	selectOnFocus: true
        font: f18;
}
    def prenom = TextBox {
                layoutX : 260;
                layoutY : 590;
	text: ""
	columns: 20
        font: f18
	selectOnFocus: true
}



    def suivant = Button {
                layoutX : 110;
                layoutY : 670;
                font: f40
                text: "Commencer l'évaluation"
                action: function() {
                    if ((prenom.text != "") and (nom.text != "")) {
                        Main.logger.prenom = prenom.text;
                        Main.logger.nom = nom.text;
                        Main.logger.disable = false;
                        this.visible = false;
                        Main.taskScreen.visible = true;
                    }
                }
            };

    def nolog = Button {
                layoutX : 610;
                layoutY : 670;
                font: f40
                text: "Simplement essayer"
                action: function() {
                        Main.logger.disable = true;
                        this.visible = false;
                        Main.taskScreen.visible = false;
                        Main.menu.visible = true;
                        Main.txtFooter.visible = true;
                    Main.animInfoTimer.stop();
                    Main.animInfoTimer.playFromStart();
                }
            };

    override public function create(): Node {
        return Group {
                    content: [titre, textExplication, suivant, nolog, nom , prenom, lblNom, lblPrenom, ]
                }

    }

}
